Energy efficiency is an increasingly important consideration for current computing devices. For portable devices such as laptops, tablets, and smartphones, energy efficiency directly affects battery life, which is an important part of the user experience. For server devices, energy efficiency directly affects cost, compute density, and thermal management. Many computing devices and processors support a reduced-power sleep state defined by the Advanced Configuration and Power Interface (ACPI) specification, also known as the “S3” state. In the ACPI S3 sleep state, volatile memory may remain powered on to preserve its contents while other components of the computing device such as the processor are powered off. When resuming from the S3 sleep state, the processor typically powers back on and performs a firmware boot flow to resume operation.
Current processors may also support a balance of different performance and power consumption levels. For example, processors may scale performance and power consumption to improve performance under load and to reduce power consumption when idle or lightly loaded. Current processors and devices may also support low-power usage models, such as an S0ix low-power idle state, which allow the device to achieve extremely low power consumption for certain usage models. Using S0ix and other modern low-power usage states may require operating system or other software support. Additionally, many current processors no longer support the ACPI S3 sleep state.
Computing devices typically include firmware responsible for hardware initialization, low-level hardware management, and managing the boot process. The main platform firmware responsible for booting the computing device may be implemented according to the Unified Extensible Firmware Interface (“UEFI”) specification, which has several versions published by the Unified EFI Forum. The UEFI specification specifies an interface between the firmware of the computing device and the operating system of the computing device.